package org.kpli.jak.db.first;

import java.sql.*;

/**
 * KPLI Jakarta Source Code
 * 
 * @author dendy
 * 
 */

public class ConnectionDB {

	// Fungsi untuk melakukan koneksi kedalam database
	Connection connection = null;

	// Perintah atau query yang akan dieksekusi
	Statement statement = null;

	// Untuk setinggan hasil dari query yang dieksekusi
	ResultSet resultSet = null;

	// url untuk melakukan koneksi
	String url = "jdbc:mysql://localhost/mahasiswa";

	// user,pass standar untuk kebutuhan dalam database
	String user = "root";
	String password = "admin";

	// Query yang akan dieksekusi
	String query = "select * from person";

	// Constructor
	public ConnectionDB() throws SQLException {

		try {
			// mengambil url,user,pass
			connection = DriverManager.getConnection(url, user, password);
			System.out.println("Connection Database");
		} catch (SQLException e) {
			System.out.println("Not Connected");
		}
		statement = connection.createStatement();
		statement.executeQuery(query);
		resultSet = statement.getResultSet();
		System.out.println("id " + " nama " + " alamat ");
		while (resultSet.next()) {
			query();
		}

		// close dari database dan ini keharusan
		connection.close();

	}

	/**
	 * method yang berfungsi untuk menampung qery yang akan dieksekusi
	 * 
	 * @throws SQLException
	 */
	private void query() throws SQLException {
		String id = resultSet.getString("id");
		String nama = resultSet.getString("nama");
		String alamat = resultSet.getString("alamat");
		System.out.println(id + " " + nama + " " + alamat);
	}

	/**buku UML dan java 
	 * Method main berfungsi menjalankan aplikasi
	 * 
	 * @param args
	 * @throws SQLException
	 */
	public static void main(String[] args) throws SQLException {
		new ConnectionDB();
	}

}
